package org.yyjkcache.common;
import java.io.IOException;
import java.util.Iterator;
import java.util.Map.Entry;

import com.alibaba.fastjson.JSONObject;
/**
 * JSON解析器
 * @author zhangwei
 *
 */
public class JsonParser {
	private JSONObject jsonObject = null;
	private String jsonpath;

	/**
	 * 初始化
	 * @param jsonpath
	 * @throws IOException
	 */
	public JsonParser(String jsonpath) throws IOException {
		if (jsonpath != null && jsonpath.length() != 0) {
			this.jsonpath = jsonpath;
		} else {
			return;
		}
		FileReader reader = new FileReader();
		String jsonText = reader.readUTF(jsonpath);
		jsonObject = JSONObject.parseObject(jsonText);
	}

	public Iterator<Entry<String, Object>> iterator() {
		return jsonObject.entrySet().iterator();
	}

	/**
	 * 获取json文件某个节点
	 * @param args
	 * @return
	 */
	public String getString(String... args) {
		JSONObject json = null;
		int size = args.length;
		for (int index = 0; index < size - 1; index++) {
			json = jsonObject.getJSONObject(args[index]);
		}
		if(size==1){
			json=jsonObject;
		}
		if (json != null) {
			return json.getString(args[size - 1]);
		} else {
			return "";
		}
	}

	public String getJsonpath() {
		return jsonpath;
	}
}
